var wsUri = "ws://" + document.location.host + "/dots-and-boxes/" + "jogows";
var wsjogo = new WebSocket(wsUri);
var cont = 0, tipo = 1, dificuldade = 1, pontosA = 0, pontosB = 0;
var jogo;

wsjogo.onerror = function (evt) {
    onError(evt);
};
function onError(evt) {
    writeToScreen('<span style="color: red;">ERROR: </span> ' + evt.data);
}

wsjogo.onopen = function (evt) {
    onOpen(evt);
};
function onOpen(evt) {
    tipoJogo(1);
    dificuldadeJogo(1);
    cont = 0;
}

function tipoJogo(i) {
    // 1 = Minimax, 2 = Online.
    tipo = parseInt(i);
}

function dificuldadeJogo(i) {
    // 1 = Fácil, 2 = Médio, 3 = Difícil.
    dificuldade = parseInt(i);
}

function enviarJogada(id) {
    cont++;
    var jInfos = {
        tipo: tipo,
        cont: cont,
        id: id,
        dificuldade: dificuldade
    };
    info = JSON.stringify(jInfos);
    wsjogo.send(info);
}

wsjogo.onmessage = function (evt) {
    onMessageJogo(evt);
};
function onMessageJogo(evt) {
    var json = JSON.parse(evt.data);
    cont = json.cont;
    jogo = json.jogo;
    imprimeJogo();
    if ((pontosA + pontosB) === 36) {
        alert("Fim de jogo!\n" +
                "Jogador A = " + pontosA + "\n" +
                "Jogador B = " + pontosB);
    }
    pontosA = 0;
    pontosB = 0;
}

function imprimeJogo() {
    for (var i = 0; i <= 12; i++) {
        for (var j = 0; j <= 12; j++) {
            var pad = '00';
            var id = (pad + i).slice(-pad.length);
            id += (pad + j).slice(-pad.length);
            if (jogo[i][j] === 8) {
                pontosA++;
                var quadrado = document.getElementById(id);
                quadrado.style.backgroundColor = "lightblue";
            } else if (jogo[i][j] === 9) {
                pontosB++;
                var quadrado = document.getElementById(id);
                quadrado.style.backgroundColor = "pink";
            }
            if (jogo[i][j] === 2) {
                var linha = document.getElementById(id);
                linha.style.backgroundColor = "blue";
            } else if (jogo[i][j] === 3) {
                var linha = document.getElementById(id);
                linha.style.backgroundColor = "red";
            }
        }
    }
}
